home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / var / lib / dpkg / info / dash.postinst < prev    next >
Text File  |  2009-09-20  |  2KB  |  100 lines

  1. #!/bin/sh
  2. set -e
  3.  
  4. check_divert() {
  5.     div=$(dpkg-divert --list $2)
  6.     distrib=${4:-$2.distrib}
  7.     case "$1" in
  8.     true)
  9.         if [ -z "$div" ]; then
  10.             dpkg-divert --package dash --divert $distrib --add $2
  11.             cp -dp $2 $distrib
  12.             ln -sf $3 $2
  13.         fi
  14.         ;;
  15.     false)
  16.         if [ -n "$div" ] && [ -z "${div%%*by dash}" ]; then
  17.             mv $distrib $2
  18.             dpkg-divert --remove $2
  19.         fi
  20.         ;;
  21.     ash)
  22.         case $div in
  23.         '')
  24.             ;;
  25.         *by\ ash)
  26.             dst=${div% by ash}
  27.             dst=${dst##* to }
  28.  
  29.             # Work around dpkg-divert bug.
  30.             if [ -e "$dst" ]; then
  31.                 mv "$dst" "$dst.dash-tmp"
  32.             fi
  33.             dpkg-divert --remove $2
  34.             if [ -e "$dst.dash-tmp" ]; then
  35.                 mv "$dst.dash-tmp" "$dst"
  36.             fi
  37.  
  38.             dpkg-divert --package dash --divert $distrib --add $2
  39.             if [ "$dst" != $distrib ] && [ -e "$dst" ]; then
  40.                 mv "$dst" $distrib
  41.             fi
  42.             ln -sf $3 $2
  43.             ;;
  44.         *)
  45.             d=${2%/*}
  46.             if
  47.                 [ -h $2 ] && [ -f $2 ] && [ -f $d/$5 ] &&
  48.                 cmp $2 $d/$5
  49.             then
  50.                 ln -sf $3 $2
  51.             fi
  52.             ;;
  53.         esac
  54.     esac
  55. }
  56.  
  57. add_shell() {
  58.     if ! type add-shell > /dev/null 2>&1; then
  59.         return
  60.     fi
  61.  
  62.     add-shell /bin/dash
  63. }
  64.  
  65. reset_default() {
  66.     db_fget dash/sh seen
  67.     if [ "$RET" = false ]; then
  68.         db_reset dash/sh
  69.     fi
  70. }
  71.  
  72. debconf=
  73. if [ -f /usr/share/debconf/confmodule ]; then
  74.     . /usr/share/debconf/confmodule
  75.     debconf=yes
  76. fi
  77.  
  78. if [ "$1" = configure ] && [ -z "$2" ]; then
  79.     check_divert ash /bin/sh dash '' ash
  80.     check_divert ash /usr/share/man/man1/sh.1.gz dash.1.gz \
  81.         /usr/share/man/man1/sh.distrib.1.gz ash.1.gz
  82.     add_shell
  83. elif [ "$1" = configure ] && dpkg --compare-versions "$2" lt 0.4.18; then
  84.     add_shell
  85. fi
  86.  
  87. if [ $debconf ]; then
  88.     reset_default
  89.  
  90.     db_get dash/sh
  91.     check_divert "$RET" /bin/sh dash
  92.     check_divert "$RET" /usr/share/man/man1/sh.1.gz dash.1.gz \
  93.         /usr/share/man/man1/sh.distrib.1.gz
  94. fi
  95.  
  96. test "$1" = 'configure' || exit 0
  97. test -x /usr/bin/update-menus || exit 0
  98. test -z "$2" || dpkg --compare-versions "$2" lt 0.5.2-3 || exit 0
  99. exec update-menus
  100.